home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 June / CHIP Haziran 2001.iso / prog / share / 17 / dings_e.exe / Compiler / Include / WTYPES.H < prev    next >
C/C++ Source or Header  |  1999-11-07  |  4KB  |  153 lines

  1. #ifndef _WTYPES_H
  2. #define _WTYPES_H
  3. #include <rpc.h>
  4. #include <rpcndr.h>
  5. #ifdef __cplusplus
  6. extern "C" {
  7. #endif
  8.  
  9. #define IID_NULL GUID_NULL
  10. #define CLSID_NULL GUID_NULL
  11. #define CBPCLIPDATA(d) ((d).cbSize-sizeof((d).ulClipFmt))
  12. #define DECIMAL_NEG ((BYTE)0x80)
  13. #define DECIMAL_SETZERO(d) {(dec).Lo64=(dec).Hi32=(dec).signscale=0;}
  14. typedef struct _BLOB {
  15.     ULONG    cbSize;
  16.     BYTE    *pBlobData;
  17. } BLOB;
  18. typedef enum tagDVASPECT {
  19.     DVASPECT_CONTENT=1,
  20.     DVASPECT_THUMBNAIL=2,
  21.     DVASPECT_ICON=4,
  22.     DVASPECT_DOCPRINT=8
  23. } DVASPECT;
  24. typedef enum tagDVASPECT2 {
  25.     DVASPECT_OPAQUE=16,
  26.     DVASPECT_TRANSPARENT=32
  27. } DVASPECT2;
  28. typedef enum tagSTATFLAG {
  29.     STATFLAG_DEFAULT=0,
  30.     STATFLAG_NONAME=1
  31. } STATFLAG;
  32. typedef enum tagMEMCTX {
  33.     MEMCTX_TASK=1,
  34.     MEMCTX_SHARED,
  35.     MEMCTX_MACSYSTEM,
  36.     MEMCTX_UNKNOWN=-1,
  37.     MEMCTX_SAME=-2
  38. } MEMCTX;
  39. typedef enum tagMSHCTX {
  40.     MSHCTX_LOCAL,
  41.     MSHCTX_NOSHAREDMEM,
  42.     MSHCTX_DIFFERENTMACHINE,
  43.     MSHCTX_INPROC
  44. } MSHCTX;
  45. typedef
  46. enum tagCLSCTX {
  47.     CLSCTX_INPROC_SERVER=1,CLSCTX_INPROC_HANDLER=2,CLSCTX_LOCAL_SERVER=4,
  48.     CLSCTX_INPROC_SERVER16=8
  49. } CLSCTX;
  50. typedef enum tagMSHLFLAGS {
  51.     MSHLFLAGS_NORMAL,MSHLFLAGS_TABLESTRONG,MSHLFLAGS_TABLEWEAK
  52. } MSHLFLAGS;
  53. typedef struct _FLAGGED_WORD_BLOB {
  54.     unsigned long fFlags;
  55.     unsigned long clSize;
  56.     unsigned short asData[1];
  57. }FLAGGED_WORD_BLOB;
  58.  
  59. #ifndef OLE2ANSI
  60. typedef WCHAR OLECHAR;
  61. typedef LPWSTR LPOLESTR;
  62. typedef LPCWSTR LPCOLESTR;
  63. #define OLESTR(s) L##s
  64. #else
  65. typedef char OLECHAR;
  66. typedef LPSTR LPOLESTR;
  67. typedef LPCSTR LPCOLESTR;
  68. #define OLESTR(s) s
  69. #endif
  70. typedef unsigned short VARTYPE;
  71. typedef short VARIANT_BOOL;
  72. typedef VARIANT_BOOL _VARIANT_BOOL;
  73. #define VARIANT_TRUE ((VARIANT_BOOL)0xffff)
  74. #define VARIANT_FALSE ((VARIANT_BOOL)0)
  75. typedef OLECHAR *BSTR;
  76. typedef FLAGGED_WORD_BLOB *wireBSTR;
  77. typedef BSTR *LPBSTR;
  78. typedef LONG SCODE;
  79. typedef void *HCONTEXT;
  80. typedef union tagCY {
  81.     struct {
  82.         unsigned long Lo;
  83.         long Hi;
  84.     }_STRUCT_NAME(s);
  85.     LONGLONG int64;
  86. } CY;
  87. typedef double DATE;
  88. typedef struct  tagBSTRBLOB {
  89.     ULONG cbSize;
  90.     PBYTE pData;
  91. }BSTRBLOB;
  92. typedef struct tagBSTRBLOB *LPBSTRBLOB;
  93. typedef struct tagCLIPDATA {
  94.     ULONG cbSize;
  95.     long ulClipFmt;
  96.     PBYTE pClipData;
  97. }CLIPDATA;
  98. typedef enum tagSTGC {
  99.     STGC_DEFAULT,STGC_OVERWRITE,STGC_ONLYIFCURRENT,
  100.     STGC_DANGEROUSLYCOMMITMERELYTODISKCACHE
  101. }STGC;
  102. typedef enum tagSTGMOVE {
  103.     STGMOVE_MOVE,STGMOVE_COPY,STGMOVE_SHALLOWCOPY
  104. }STGMOVE;
  105. enum VARENUM {
  106.     VT_EMPTY,VT_NULL,VT_I2,VT_I4,VT_R4,VT_R8,VT_CY,VT_DATE,VT_BSTR,VT_DISPATCH,
  107.     VT_ERROR,VT_BOOL,VT_VARIANT,VT_UNKNOWN,VT_DECIMAL,VT_I1,VT_UI1,VT_UI2,VT_UI4,VT_I8,
  108.     VT_UI8,VT_INT,VT_UINT,VT_VOID,VT_HRESULT,VT_PTR,VT_SAFEARRAY,VT_CARRAY,VT_USERDEFINED,
  109.     VT_LPSTR,VT_LPWSTR,VT_FILETIME=64,VT_BLOB,VT_STREAM,VT_STORAGE,VT_STREAMED_OBJECT,
  110.     VT_STORED_OBJECT,VT_BLOB_OBJECT,VT_CF,VT_CLSID,VT_BSTR_BLOB=0xfff,VT_VECTOR=0x1000,
  111.     VT_ARRAY=0x2000,VT_BYREF=0x4000,VT_RESERVED=0x8000,VT_ILLEGAL= 0xffff,VT_ILLEGALMASKED=0xfff,
  112.     VT_TYPEMASK=0xfff
  113. };
  114. typedef struct _BYTE_SIZEDARR {
  115.     unsigned long clSize;
  116.     byte *pData;
  117. }BYTE_SIZEDARR;
  118. typedef struct _SHORT_SIZEDARR {
  119.     unsigned long clSize;
  120.     unsigned short *pData;
  121. }WORD_SIZEDARR;
  122. typedef struct _LONG_SIZEDARR {
  123.     unsigned long clSize;
  124.     unsigned long *pData;
  125. }DWORD_SIZEDARR;
  126. typedef struct _HYPER_SIZEDARR {
  127.     unsigned long clSize;
  128.     hyper *pData;
  129. }HYPER_SIZEDARR;
  130. typedef double DOUBLE;
  131. typedef struct tagDEC {
  132.     USHORT wReserved;
  133.     union {
  134.         struct {
  135.             BYTE scale;
  136.             BYTE sign;
  137.         }_STRUCT_NAME(s);
  138.         USHORT signscale;
  139.     } DUMMYUNIONNAME;
  140.     ULONG Hi32;
  141.     union {
  142.         struct {
  143.             ULONG Lo32;
  144.             ULONG Mid32;
  145.         }_STRUCT_NAME(s2);
  146.         ULONGLONG Lo64;
  147.     } DUMMYUNIONNAME2;
  148. } DECIMAL;
  149. #ifdef __cplusplus
  150. }
  151. #endif
  152. #endif
  153.